Ad hoc networks are spontaneous mobile wireless networks that require no fixed infrastructure and that are organized dynamically without intervention by users. The mere presence of terminals (microcomputers, personal digital assistants, devices onboard vehicles, sensors, etc.) equipped with radio interfaces is sufficient to create an ad hoc network.
In an ad hoc mobile network consisting of stations that have respective radio communications interfaces, a network node can communicate directly with its neighbors, i.e. nodes that are in range of its own interface, and can serve as a router for other mobiles of the network. This type of network is useful when no cable connection is available, for example during a conference, operations at the site of a disaster, or visits to a museum, and more generally when it is necessary to deploy a network quickly. In this situation, the nodes communicate by sending packets using a routing protocol.
Known ad hoc network routing protocols divide into two main categories.
Proactive protocols maintain permanent routes for all destinations in the network. Routes are therefore available immediately a node wishes to send data. Proactive protocols include the OLSR (Optimized Link-State Routing) protocol and the TBRPF (Topology Dissemination Based on Reverse Path Forwarding) protocol.
Reactive protocols rely on a mechanism for discovering routes on demand.
One known reactive protocol is the DSR (Dynamic Source Routing) protocol, which uses a source-directed routing model: when a station in the network sends data, all the data packets contain a list of all the intermediate hops that constitute the route to the destination. Thus the route used to transfer the data is imposed by the source. At the routing level, the protocol can be divided into two stages: route discovery and route maintenance.
Another known reactive protocol is the AODV (Ad hoc On-demand Distance Vector Routing) protocol described in Ad hoc On-demand Distance Vector (AODV) Routing, Charles E. Perkins, Elizabeth M. Belding-Royer and Samir Das, Internet Request For Comments RFC 3561, Internet Engineering Task Force, July 2003. The AODV protocol differs from the DSR protocol in its use of different route discovery and maintenance mechanisms. Moreover, the AODV protocol does not use source-directed routing.
The mechanisms used by the invention are similar to those used by the AODV protocol.
AODV route discovery is based on sending a Route Request (RREQ) followed by receiving a Route Reply (RREP). However, in contrast to the DSR protocol, the route request does not contain a list of intermediate hops. In the AODV protocol, each intermediate node forwarding a route request stores the address of the node from which it received the request. The AODV protocol also introduces the use of sequence numbers that prevent routing loops forming and that enable the nodes to tell the “freshness” of routes, i.e. their potential validity.
When the request reaches the destination, or a node having a recent route to the destination, a route response is sent step by step to the initiator of the request. Thus each node forwards the route response to the node from which it received the corresponding route request. All nodes on the path taken by the route response then create an entry in their respective routing tables for the target destination specifying as the next hop the address of the node that sent the route response. In contrast to the DSR protocol, the AODV protocol does not require a route between the source and the destination. In contrast, the AODV route discovery mechanism requires the presence of bidirectional connections between all nodes of the ad hoc network.
Where route maintenance is concerned, the AODV protocol relies on the ability of nodes of the network to detect broken connections. This detection is local, each node verifying whether the next hop used for forwarding a packet is available. The AODV protocol relies on a neighbor discovery mechanism based on periodically sending neighbor discovery (HELLO) messages enabling each node to discover its neighbor nodes. Receiving a neighbor discovery message tells a node that the connection between itself and the sender of the message is active. Moreover, to avoid overloading the network, only nodes having active routes send HELLO messages. If a node detects a broken connection, it sends a Route Error message to all its neighbors that use routes of which the broken connection is a part. Each node therefore maintains a table containing a list of its neighbors that use it as the next hop for certain destinations.
At present, constraints relating essentially to mobility and to radio communication have prevented the proposal of solutions for real-time and multimedia applications on ad hoc networks relating to guaranteeing quality of service and availability of network resources.
In the field of communications networks, the term “quality of service” denotes any mechanism for adapting network behavior to the requirements of applications. This concept encompasses mechanisms for allocating network resources to a data stream and for guaranteeing, for example, a given bandwidth, a limited end-to-end delay, lower jitter, a limited loss rate, etc. If the network is incapable of providing this level of service, it must advise the application that requested it of this fact.
None of the reactive routing protocols described above offers a mechanism able to guarantee quality of service. Data is therefore sent on an ad hoc basis, without taking account of QoS parameters, using the “best effort” principle.
Quality of service is taken into consideration by the AQOR (Ad hoc QoS On-demand Routing) protocol, which is a reactive protocol described in Ad hoc QoS on-demand routing (AQOR) in mobile ad hoc networks, Q. Xue and A. Ganz, Journal of Parallel and Distributed Computing, Vol. 63, issue 2, pp. 154-165, February 2003.
It proposes in particular a bandwidth reservation mechanism that functions in a similar way to a signaling protocol, using signaling functions for resource reservation and route maintenance. However, the bandwidth calculation involved is complex and costly and numerous signaling messages have to be exchanged, adding a considerable burden to the network.